home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / guilib3 / inc / strundo.h < prev    next >
C/C++ Source or Header  |  1993-11-30  |  1KB  |  37 lines

  1. /*    :*****************************************************************
  2.     :    strundo.h : 文字列 UNDO 用ヘッダファイル
  3.     :*****************************************************************
  4. */
  5. #ifndef    _STRUNDO_H
  6. #define    _STRUNDO_H
  7.  
  8. #ifndef    _GUIDEFS_H
  9. #    include    "guidefs.h"
  10. #endif
  11.  
  12. typedef    struct    _undobuf    /* UNDOバッファ構造体    */
  13. {    struct    _undobuf    *back;
  14.     int                    mode;
  15.     size_t                siz;
  16.     size_t                ptr;    /* バッファポインタ    */
  17.     char                p[1];
  18. } UNDOBUF;
  19.  
  20. typedef    struct            /* UNDOシステム構造体    */
  21. {    size_t    maxMem;        /* 使用可能メモリサイズ    */
  22.     size_t    useMem;        /* 現在の使用メモリ        */
  23.     SHORT    undoMax;    /* 最大UNDO 数            */
  24.     SHORT    crt;        /* 現在のUNDO有効数        */
  25.     UNDOBUF    *ubuf;
  26. } UNDOSYS;
  27.  
  28. void    UNDO_str_clear_num( UNDOSYS *undoSys );
  29. int        UNDO_str_clear_mem( UNDOSYS *undoSys, size_t siz );
  30. int        UNDO_str_insert( UNDOSYS *undoSys, size_t ptr, size_t len );
  31. int        UNDO_str_delete( UNDOSYS *undoSys,
  32.                          char *top, size_t ptr, size_t len );
  33. int        UNDO_str( UNDOSYS *undoSys, char *top, size_t *bufSiz, size_t *pos );
  34. void    UNDO_str_all_clear( UNDOSYS *undoSys );
  35.  
  36. #endif
  37.